﻿<script type="text/javascript">
    $(document).ready(function () {
        atualizarChat();
        window.setInterval(atualizarChat, 10000);
    });

    function enviarTexto(evt, idConversa) {
        var keyCode = evt.keyCode ? evt.keyCode :
                       evt.charCode ? evt.charCode :
                       evt.which ? evt.which : void 0;

        var mensagem = $("#Mensagem" + idConversa);
        if (keyCode != 13 && $(mensagem).text().length > parseInt($(mensagem).attr('maxlength'))) {
            return false;
        }

        if (keyCode == 13) {
            if ($(mensagem).text().length > parseInt($(mensagem).attr('maxlength'))) {
                alert('Seu texto deve ter no máximo ' + $(mensagem).attr('maxlength') + ' caracteres. Atual: ' + $(mensagem).text().length);
                return false;
            }
            
            $.ajax({
                url: '/Mensagem/EnviarMensagem',
                type: "GET",
                cache: false,
                data: "idPessoa=" + idConversa + "&texto=" + $("#Mensagem" + idConversa).val(),
                success: function (result) {
                    if (result.success) {
                        $("#Conversa" + idConversa).html(result.html);
                    }
                },
                error: function (req, status, error) {
                    alert("Sorry! We could not receive your feedback at this time.");
                }
            });

            $("#Mensagem" + idConversa).val('');
            return false;
        }

        return true;
    }

    function fecharConversa(idConversa) {
        $.ajax({
            url: '/Mensagem/MarcarConversaFechada',
            type: "GET",
            data: "idPessoa=" + idConversa.replace('Conversa', ''),
            success: function (result) {
                if (result.success) {
                    $("#" + idConversa).remove();
                } else {
                    window.location.href = result.url;
                }
            },
            error: function (req, status, error) {
                alert("Sorry! We could not receive your feedback at this time.");
            }
        });
        
        return false;
    }

    function atualizarChat() {
        $.ajax({
            url: '/Mensagem/MostrarUsuariosOnline',
            type: "GET",
            cache: false,
            success: function (result) {
                if (result.success) {
                    $("#chat").html(result.html);

                    $.each(result.mensagensAbertas, function (index, value) {
                        abrirConversa(value);
                    });
                } else {
                    window.location.href = result.url;
                }
            },
            error: function (req, status, error) {
                alert("Sorry! We could not receive your feedback at this time.");
            }
        });
    };
</script>
<div id="conversas">
</div>
<div id="chat">
</div>
